Exit Routes

ABSTRACT

A computing device equipped with a camera may be used to assist a person in planning and traversing exit routes for a premises. For example, a user may be able to interact with one or more user interfaces generated by the computing device to determine an exit route for the premises. The user may be able to identify various objects, such as stairs or doors, along the exit route. The user may be able to identify graphical or textual information that can be displayed at certain points along the exit route. After determining the exit route, a data structure for the exit route may be shared with other users and/or be used to assist a user in traversing the exit route. For example, the data structure may be used as a basis for overlaying graphics and/or text on a real-time video display as the user traverses the exit route.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of and claims priority to U.S.Non-Provisional application Ser. No. 16/661,554 filed on Oct. 23, 2019,and entitled “Exit Routes”, which claims the priority benefit of U.S.Provisional Application No. 62/751,217 filed on Oct. 26, 2018, andentitled “Exit Routes”. Each of these applications is incorporated byreference in its entirety herein.

FIELD

This disclosure generally relate to devices, systems and methods forassisting a user in planning and/or practicing an exit route from apremises.

BACKGROUND

In some emergency situations, such as a fire, exiting a premises quicklymay be of utmost importance. To improve the chances of exiting thepremises in an emergency situation, it may be advantageous to planand/or practice an exit route under normal environmental circumstances.The exit route, for example, may be from a person's bedroom to apredesignated location outside the premises, such as the end of adriveway. Under an emergency situation, however, a person may notremember the exit route or may fail to follow the exit route correctly.For example, a person may have not practiced the exit route enough tofully commit the exit route to memory and, therefore, may fail to exitthe premises as quickly as expected or may follow a different route toexit the premises. Such failures may increase the risk to the person'ssafety in an emergency situation.

BRIEF SUMMARY

The following presents a simplified summary of various featuresdescribed herein. This summary is not an extensive overview, and is notintended to identify required or critical elements or to delineate thescope of a future claim. The following summary merely presents someconcepts in a simplified form as an introductory prelude to the moredetailed description provided below.

The present disclosure describes one or more improvements related to aperson's ability to plan and/or traverse an exit route for a premises.Additionally, one or more other improvements related to exit routes maybe apparent upon reading and understanding the present disclosure. Asone general example, the present disclosure describes the use of acomputing device, which is equipped with a camera, as a way tofacilitate the planning and/or traversing of one or more exit routes fora premises. In particular, a user may be able to interact with one ormore user interfaces generated by a computing device to determine anexit route from a premises. The exit route may begin at a locationwithin the premises (e.g., a bedroom), continue through the premises,exit the premises, and end at a particular location outside the premises(e.g., at the end of a driveway). The user may, based on interactionswith the one or more user interfaces, be able to identify variousobjects, such as stairs or doors, along the exit route. The user may,based on interactions with the one or more user interfaces, be able toidentify graphical or textual information that can be displayed atcertain points along the exit route. After the user has finisheddetermining the exit route, the data for the exit route may be storedfor later use. Later uses of the data may include, for example, sharingthe data for the exit route with other users and augmenting a real-timevideo display as a way to assist a user in traversing an exit route. Asan example of the types of augmentations for the real-time videodisplay, a computing device may, as the user traverses the exit route,overlay graphics or text over video data captured by the camera of thecomputing device. The graphics or text may indicate, among other things,a path of the exit route, the presence of doors or stairs, or a safezone for the exit route. Further, users may, based on determining theexit route and/or traversing the exit route, be eligible for adiscounted rate to a service (e.g., a discount to an insurance policy)or a discount to a product (e.g., a discount to fire safety equipment,such as a smoke detector).

These and additional features will be appreciated based on discussion ofthe present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and is notlimited by the accompanying figures in which like reference numeralsindicate similar elements and in which:

FIG. 1 shows a block diagram of an example computing device andnetworked computing environment, which may be used to implement one ormore features described herein.

FIG. 2 shows an example network environment in which one or morefeatures described herein may be implemented.

FIGS. 3A-3E show one or more example method flows that includedetermining an exit route.

FIGS. 4A-4G show one or more example user interfaces that may be used inconnection with a process for determining an exit route.

FIGS. 5A-5D show one or more example user interfaces that may be used inconnection with a tutorial for an exit route.

FIGS. 6A-6B show one or more example method flows that include sharingan exit route.

FIGS. 7A-7C show one or more example user interfaces that may be used inconnection with a process for sharing an exit route.

FIGS. 8A-8B show one or more example method flows that include assistinga user with traversing an exit route.

FIGS. 9A-9B show one or more example user interfaces that may be used inconnection with a process for assisting the traversal of an exit route.

DETAILED DESCRIPTION

In the following description of the various embodiments, reference ismade to the accompanying drawings identified above and which form a parthereof, and in which is shown by way of illustration various embodimentsin which aspects described herein may be practiced. It is to beunderstood that other embodiments may be utilized and structural andfunctional modifications may be made without departing from the scopedescribed herein. Various aspects are capable of other embodiments andof being practiced or being carried out in various different ways.

As a general introduction to the subject matter described in more detailbelow, the present disclosure describes one or more improvements relatedto a person's ability to plan and/or traverse an exit route for apremises. As one general example, the present disclosure describes theuse of a computing device, which is equipped with a camera, as a way tofacilitate the planning and/or traversing of one or more exit routes fora premises. In particular, a user may be able to interact with one ormore user interfaces generated by a computing device to determine anexit route from a premises. The exit route may begin at a locationwithin the premises (e.g., a bedroom), continue through the premises,exit the premises, and end at a particular location outside the premises(e.g., at the end of a driveway). The user may, based on interactionswith the one or more user interfaces, be able to identify variousobjects, such as stairs or doors, along the exit route. The user may,based on interactions with the one or more user interfaces, be able toidentify graphical or textual information that can be displayed atcertain points along the exit route. After the user has finishedtraversing the exit route, the data for the exit route may be stored forlater use. Later uses of the data may include, for example, sharing thedata for the exit route with other users and augmenting a real-timevideo display as a way to assist a user in traversing the exit route.

There are many different types of augmentations for the real-time videodisplay that could be implemented in association with the exit route. Asan example, a computing device may, as the user traverses the exitroute, overlay graphics or text over video data captured by the cameraof the computing device. The graphics or text may indicate, among otherthings, a path of the exit route, the presence of doors or stairs, or asafe zone of the exit route.

The exit route may be intended for use as an escape route when under anemergency situation. In this way, a safe zone of the exit route may bewhere a person can remain and wait for additional help during theemergency situation. Additionally, by practicing the exit route, a usermay be more familiar with how to escape the premises during theemergency situation. Further, users may, based on determining the exitroute and/or traversing the exit route, be eligible for a discountedrate to a service (e.g., an insurance policy) or a discount to a product(e.g., a discount to fire safety equipment, such as a smoke detector).The augmentations described herein, and any variation thereof, may beused as part of an augmented reality application. In addition to anaugmented reality application, the various augmentations describedherein, and any variation thereof, may be used as part of applicationsincluding, for example, a mixed reality application.

Computer software, hardware, and networks may be utilized in a varietyof different system environments, including those discussed herein. FIG.1 illustrates a block diagram of an example computing device 100 andnetworked computing environment, which may be used according toimplement one or more features described herein. The computing device100 may be similar to any available computing device, such as a personalcomputer (e.g., a desktop computer), server, laptop computer, notebook,tablet, smartphone, etc. The computing device 100 may have a processor103 for controlling overall operation of the computing device 100 andits associated components, including camera 101, processor 103, RandomAccess Memory (RAM) 105, Read Only Memory (ROM) 107, input/output module109, network interface 111, and memory 113. The computing device 100 mayhave a camera 101, or some other optical device, that captures images orrecords video for processing and/or storage by the computing device 100.

The I/O module 109 may be configured to be connected to an input device115, such as a microphone, keypad, keyboard, touchscreen, and/or stylusthrough which a user of the computing device 100 may provide input data.The I/O module 109 may also be configured to be connected to a displaydevice 117, such as a monitor, television, touchscreen, etc., and mayinclude a graphics card. The display device 117 and input device 115 areshown as separate elements from the computing device 100, however, theymay be within the same apparatus or device. Using the input device 115,a user may be able to interact with various user interfaces beingdisplayed by the display device 117 and to perform various features,such as the determining of an exit route, described in greater detailthroughout this disclosure.

The memory 113 may be any computer readable medium for storing computerexecutable instructions (e.g., software). The executable instructionsstored within memory 113 may enable the computing device 100 to performvarious functions. For example, memory 113 may store software used bythe computing device 100, such as an operating system 119 andapplication programs 121, and may include an associated database 123.

The network interface 111 allows the computing device 100 to connect toand communicate with a network 130. The network 130 may be any type ofnetwork, including a local area network (LAN) and/or a wide area network(WAN). For example, the network may include one or more of a variety ofnetworks, such as the Internet, a cellular network, satellite network,or public switched telephone network. Through the network 130, thecomputing device 100 may communicate with one or more other computingdevices 140, such as laptops, notebooks, smartphones, personalcomputers, servers, etc. The one or more other computing devices 140 mayalso be configured in a similar manner as computing device 100.

The network interface 111 may connect to the network 130 viacommunication lines, such as coaxial cable, fiber optic cable, etc. orwirelessly using a cellular backhaul or a wireless standard, such asIEEE 802.11, IEEE 802.15, IEEE 802.16, etc. In some embodiments, thenetwork interface 111 may include a modem. Further, the networkinterface 111 may use various protocols, including TCP/IP, Ethernet,File Transfer Protocol (FTP), Hypertext Transfer Protocol (HTTP), etc.,to communicate with other computing devices 140. In some embodiments,the computing device may include multiple network interfaces 111 forcommunicating using different protocols or standards or over differentnetworks.

FIG. 1 is an example embodiment of a computing device 100. In otherembodiments, the computing device 100 may include fewer or moreelements. For example, the computing device 100 may include additionalsensors or components, such as a fingerprint sensor. The computingdevice 100 may be a mobile device (e.g., a smartphone, tablet, etc.),and may also include various other components, such as a battery,speaker, and/or antennas (not shown).

FIG. 2 shows an example network environment 200 in which one or morefeatures described herein may be implemented. As shown in FIG. 2 , thenetwork environment 200 may include a network 202 configured to connectcomputing devices (e.g., mobile computing device 207), one or moreservers 220, and one or more other computing devices (e.g., mobilecomputing device 230). Collectively, these computing devices may be usedas part of a system that assists one or more users in determining,sharing and traversing of exit routes.

The network 202 may be any type of network, like the network 130described above, and use one or more communication protocols (e.g.,protocols for the Internet (IP), Bluetooth, cellular communications,satellite communications, etc.) to connect computing devices 207, 230and servers 220 within the network environment 200 so they may send andreceive communications between each other. For example, the network 202may include a cellular network (e.g., Global System for MobileCommunications (GSM) network) and its components, such as base stations,mobile switching centers (MSC), and cell towers. Accordingly, forexample, the mobile computing device 207 (e.g., a smartphone) may send acellular signal to a nearby cell tower 210. The cell tower 210 may relaythe cellular signal to another device of the cellular backhaul. The dataof the cellular signal may be decoded/demodulated and converted to adifferent format (e.g., an Internet Protocol (IP) version 4 packet or IPversion 6 packet), which may be routed over the network 202 andeventually received by the server 220 (or some other computing device).As another example, the network 202 may include a gateway device 215(e.g., a modem) or some other access point that provides access to thenetwork 202. Accordingly, for example, the mobile computing device 207may send a signal (e.g., WiFi signal) compatible with the gateway device215. The gateway device 215 may forward the data for relay over thenetwork 202 and eventual receipt by the server 220 (or some othercomputing device).

FIG. 2 also shows that mobile computing device 207, user 201 and gatewaydevice 215 are located at or within premises 203 (e.g., a business,home, or other type of building). The premises 203 may include one ormore floors, one or more stairwells, one or more interior doors, one ormore exterior doors, and one or more rooms. The user 201 may desire todetermine, share and/or traverse an exit route from the premises 203.For example, the user 201 may want to determine, share and/or traversean exit route that is intended to be the route taken during an emergencysituation, such as if the premises 203 is on fire. The exit route maybegin at some location within the premises 203, such as a bedroom, andmay end at some location outside of the premises 203, such as location205, which may be an area of a driveway of the premises 203. The mobilecomputing device 207 may be configured (e.g., via an installedapplication) to assist the user in determining, sharing and/ortraversing an exit route.

For example, the user 201 may cause an application to be activated orloaded by the mobile computing device 207. The application may generatea number of user interfaces that allow the user 201 to, among otherthings, access previously-determined exit routes, to accesspreviously-shared exit routes, and to determine a new exit route. Ingeneral, the user 201 may use the application to determine an exit routeby interacting with the user interfaces as the user traverses theintended path of the exit route. Some of the interactions the user 201may perform in connection with determining the exit route include, forexample, identifying a beginning location for the exit route,identifying a path of the exit route, and identifying a safe zone forthe exit route. Additionally, because the exit route may be traversedover more than one floor of the premises 203, and/or through one or moredoors of the premises 203, the user 201 may interact with the userinterfaces to identify stairwells, doors, or other objects along theexit route. Further, because it may be helpful to provide a person withadditional information as the exit route is traversed, the user mayinteract with the user interfaces to associate textual or graphicalinformation that, when traversing the exit route, may be displayed as anoverlay or other augmentation to a real-time video display. The detailsof these, and others, will be discussed throughout the examplesdescribed throughout this disclosure.

While the details of one or more processes for determining an exitroute—including details related to how the user 201 interacts with theuser interfaces to determine an exit route—will be discussed below, theend result may be the generation of a data structure that defines theexit route. The data structure may be usable so a person, such as user201, can later traverse the exit route while being assisted by acomputing device, such as the mobile computing device 207. Theassistance may be in the form of an augmentation to a real-time videodisplay. The real-time video may be captured by the camera of thecomputing device as the person traverses the exit route. As an exampleof the types of augmentations for the real-time video display, acomputing device may, as the person traverses the exit route, overlaygraphical or textual information over image or video data of thereal-time video display. Further, the data structure may be shared soother devices may be used to assist in traversing the exit route. Thefollowing table includes an example of the types of data that may beincluded in a data structure for an exit route.

TABLE 1 Example Type of Data for an Exit Route Example Descriptionand/or Usage of the Type of Data An image indicating a The image mayinclude image data captured by a camera beginning location for of acomputing device that was used to determine the exit the exit routeroute. As one particular example, if the beginning of an exit route is abedroom, the image may be of a door exiting the bedroom. A user, whenpracticing the exit route, may be prompted to point and reposition thecamera and/or them self until the image captured by the camera and thisimage match. A set of data points for Each data point in the set of datapoints may be a tuple, or a path of the exit route a three-dimensional(3D) data point, relative to the initial location of the path of theexit route (e.g., (x, y, z) relative to an initial location of (0, 0,0)). When the user is determining the exit route, the set of data pointsmay be collected based on a user's continual pressing down onto thetouch screen of the mobile computing device. When practicing the exitroute, the set of data points may be used to generate a graphicaloverlay that indicates a direction along the path of the exit route.Data indicating one or The one or more objects may include stairs,doors, or other more objects that obstacles that are present along thepath of the exit. Each occur along the path of object may include anobject type (e.g., door, stairwell, the exit route etc.); one or moreassociated locations along the path of the exit route (e.g., one or moredata points from the set of data points); and information associatedwith the door (e.g., assistance information, described below). When theuser is determining the exit route, the user may identify presence of astairwell or a door and the stairwell or door, and may indicate text orgraphics to display with the identified stairwell or door. When the useris practicing the exit route, a graphical overlay may be displayed tohighlight the stairwell or door, and any associated text or graphics maybe displayed. A set of assistance The set of assistance information mayinclude graphics or information indicating text to display along thepath of the exit route. The information to display assistanceinformation may be associated with particular along the path of theobjects and/or particular locations along the path of the exit exitroute route. The assistance information may include informationindicating a safe zone for the exit route. A safe zone of the exit routemay be where a person can remain and wait for additional help during theemergency situation. When the user is determining the exit route, theuser may input or select text or graphics for use as the assistanceinformation and may cause the assistance information to be associatedwith an object or location along the path of the exit route. When theuser is practicing the exit route, the text or graphics may, based onany associated object or location, be displayed. Name of the exit routeA textual identifier for the exit route. The user that determines theexit route may provide the text for the name. The name may be used whenexit routes are listed in a user interface. One or more The propertiesmay include an estimated total distance for properties associated theexit route (e.g., the distance required to traverse from with the exitroute the beginning location of the exit route to an end location of theexit route); an estimated time to complete the exit route (e.g., bymultiplying the estimated total distance by an estimated time for achild or an adult to move a single unit of the distance); a count oftips or other information that is associated with the exit route (e.g.,a count of the items in the set of the assistance information), and thelike. The one or more properties may be determined, based on otherinformation included in the data structure, by the mobile computingdevice 207 or the server 220. Additionally, various user interfaces mayinclude indications of the one or more properties.

In connection with determining an exit route and/or generating the datastructure for the exit route, the application, via the user interfaces,may prompt the user 201 to perform various actions with the mobilecomputing device 207 or the user interfaces. For example, theapplication, via the user interfaces, may prompt the user 201 to use thecamera of the mobile computing device 207 and capture an image of abeginning location of the exit route. As one particular example, if thebeginning of the exit route is a bedroom, the image may be of a doorexiting the bedroom. The application, via the user interfaces, mayprompt the user 201 to accept the image as the beginning of the exitroute. The application, via the user interfaces, may prompt the user 201to point the camera of the mobile computing device 207 towards the floorand may prompt the user to press down on the touch screen of the mobilecomputing device 207 when the user 201 is ready to begin traversingthrough the premises 203 to define a path of the exit route. Theapplication, via the user interfaces, may prompt the user 201 tomaintain the press on the touch screen as the user 201 traverses throughthe premises to define the path of the exit route. The application, viathe user interfaces, may prompt the user 201 to indicate various objectsalong the exit route, such as a door or a stairwell. The application,via the user interfaces, may prompt the user 201 to indicate varioustypes of assistance information, such as textual tips or graphical iconsthat may assist a person when proceeding along the exit route. Theapplication, via the user interfaces, may prompt the user 201 toindicate a safe zone for the exit route. These and other prompts will bediscussed below.

The application may also perform (or cause to be performed) imageanalysis/processing on data captured by the camera of the computingdevice. The image analysis may be performed to determine variousproperties of the image or video data being captured by the camera. Forexample, the image analysis may be performed to indicate presence of afloor or the ground within a current image. The image analysis may alsoidentify and/or track other types of objects within video data. Further,image processing may be performed to, for example, overlay graphics ortext over real-time video being captured by the device's camera.

The image analysis/processing may be performed based on a speciallydesigned algorithm (e.g., an edge-based or template-based image analysisalgorithm) or may be performed based on off-the-shelf image analysissoftware, such as one provided by an operating system of the computingdevice (e.g., ARKit for iOS by APPLE, INC). If certain off-the-shelfimage analysis software is used, the application may interface with theoff-the-shelf image analysis software instead of directly interfacingwith the device's camera. For example, ARKit by APPLE, INC., performsmotion tracking, camera scene capture, advanced image processing, anddisplay features. The application may interface with ARKit (e.g., usingthe ARKit application programming interface (API)) to cause thecomputing device to identify and track certain types of objects withinthe image or video data, to track the device's location within thephysical world, and/or to cause the display of graphical or textualinformation as an overlay to the real-time video display.

Additional details regarding determining an exit route are providedbelow in connection with FIGS. 3A-3E and 4A-4G.

After determining an exit route, the mobile computing device 207 mayhave generated a data structure for the exit route. The data structuremay include data that collectively defines the exit route. The user 201may be able to perform various actions based on the data structureincluding, for example, editing the exit route, deleting the exit route,sharing the exit route with other users/devices, or augmenting areal-time video display as a way to assist in traversing the exit route.Editing the exit route may include allowing the user 201 to replacepreviously saved data points with new data points. Further, editing theexit route may include allowing the user 201 to identify one or moresegments formed by the data points and replacing the one or moresegments with new segments. In this way, previously saved data pointsmay be replaced with new data points.

With respect to sharing the exit route with other users/devices, theuser 201 may cause the mobile computing device 207 to send the datastructure to device 230. Upon receipt, device 230 may store the datastructure. The device 230 may be installed with a similar applicationthat allow a user to, among other things, access previously-determinedexit routes, to access previously-shared exit routes, and to determine anew exit route. Thus, based on the data structure, the exit routedetermined at mobile computing device 207 may appear as one of thepreviously-shared exit routes. A user of device 230 may be able toperform various actions with the previously-shared exit routes,including editing the exit route, deleting the exit route, andtraversing the exit route. Further details regarding the sharing of anexit route are provided below in connection with FIGS. 6A-6B and 7A-7C.

Additionally, instead of sending the data structure to the device 230directly, the mobile computing device may send the data structure to theserver 220. The server 220 may store the data structure and mayassociate the data structure with a profile that indicates which usersor devices have been given access to the data structure. Accordingly, ifthe user 201 shares the data structure with the device 230, the mobilecomputing device 207 may transmit an indication that the data structureis to be shared with the device 230. The profile may be updated toindicate that the device 230 has access to the data structure.Thereafter, based on the user of the device 230 activating or loadingthe application on the device 230, the server may send the datastructure to the device 230, along with any other data structures forexit routes that have been shared with the device 230.

With respect to traversing the exit route, the user 201 may desire totraverse the exit route with the assistance of the mobile computingdevice 207. The user 201 may select the exit route to traverse based ona listing of exit routes that were previously-determined at orpreviously-shared with the mobile computing device 207. When traversinga selected exit route, the user 201 may view a real-time video displaythat is being captured by the camera of the mobile computing device 207.The real-time video display may be overlaid or otherwise augmented withgraphics or text that assist the user in traversing the selected exitroute. The overlays and other augments to the real-time video displaymay be based on the data structure for the selected exit route. Forexample, the real-time video display may, via overlays or otheraugments, indicate a direction along the path of the selected exitroute; indicate the presence of a door, stair, or other object along thepath of the selected exit route; or indicate assistance informationassociated with the selected exit route. Upon completion of exit route,the mobile computing device 207 may transmit an indication that the exitroute was completed to the server 220. Further details regarding thetraversing of an exit route are provided below in connection with FIGS.8A-8B and 9A-9B.

The server 220 may be configured to receive and/or store data structuresfor exit routes.

The server 220 may be configured to manage profiles that indicate whichdevices or users are able to access the data structures for the exitroutes. Additionally, the server 220 may be configured to process thedata structures to determine various properties associated with an exitroute. For example, the server 220 may process a data structure todetermine an estimated total distance for the exit route (e.g., thedistance required to traverse from the beginning location of the exitroute to an end location of the exit route). The server 220 may processa data structure to determine an estimated time to complete the exitroute (e.g., by multiplying the estimated total distance by an estimatedtime for a child or an adult to move a single unit of the distance). Asone particular example for determining a time to complete, if theestimated total distance of the exit route is 300 feet, and it takes achild 0.2 seconds to move a foot at a walking pace, the estimated timeto complete may be 60 seconds. The server 220 may process a datastructure to determine a count of tips or other information that isassociated with the exit route (e.g., a count of the items in the set ofthe assistance information). The server 220 may be able to respond torequests or other messages sent from the devices, such as a request toedit, delete or share an exit route, and the server 220, as a response,may make the corresponding edit, deletion or share to the data structureof the exit route. Some of the above-mentioned processes that areperformed by the server 220 are to conserve battery of the devices 207and 230. Accordingly, some or all of those processes may be performed bythe mobile computing device 207 or the device 230, instead of the server220. These properties, once determined, may be stored as part of thedata structure for the exit route.

Additionally, the server 220 may be configured to determine aneligibility for a discount. The discount may be to reduce the price orcost of a service or a product, such as a discount to reduce the premiumof an insurance policy or a discount to reduce the purchase price forfire safety equipment. Further, for the user 201 to be eligible for thediscount, the user 201 may be required to determine and/or traverse oneor more exit routes. For example, the server 220 may monitor fornewly-determined exit routes and/or for the completion of exit routes.If the mobile computing device 207 transmits the data structure for anexit route to the server 220, and if the mobile computing device 207later transmits an indication that the exit route was completed, theserver 220 may determine that the user 201 is eligible for the discount.Accordingly, the server 220 may transmit message to a billing server(not shown) that causes, for example, the discount to be applied to theinsurance policy of the user 201 or to be applied to a transaction forpurchasing fire safety equipment. Applying the discount may take theform of a credit to an account associated with the user 201. In thisway, the credit can be used at a later time by the user 201 when, forexample, purchasing a desired item of fire safety equipment. Furtherdetails regarding the processes that may be performed by the server 220will be discussed throughout the below examples.

To provide one or more examples of how the mobile computing device 207may determine an exit route, an example method flow, as shown at FIGS.3A-3E, will be discussed in view of a number of example user interfaces,as shown at FIGS. 4A-4G. The example, in particular, is directed at auser 201 using the mobile computing device 207 to determine an exitroute from premises 203. Further, for the example method flow discussedin view of FIGS. 3A-3E and FIGS. 4A-4G, any image analysis/processingmay be performed based on ARKit, which may be executing on the mobilecomputing device 207.

The example method flow begins at 301 where the user 201 causes themobile computing device 207 to activate or load an application thatallow the user 201 to, among other things, access previously-determinedexit routes, to access previously-shared exit routes, and to determine anew exit route. The user 201 may cause activation or loading of theapplication by interacting with the operating system of the mobilecomputing device 207 to locate an icon for the application and thenpressing on the icon for the application.

At 302 of FIG. 3A, the mobile computing device 207 may activate or loadthe application. Activation of loading of the application may cause, forthe application, display of a home screen user interface. FIG. 4A showstwo example home screen user interfaces 400 and 401. The first examplehome screen user interface 400 includes an area 400-1 that includesuser-selectable options for adding an exit route and entering a tutorialfor learning how to determine an exit route. The first example homescreen user interface 400 also includes an area 400-2 for listing exitroutes that have been determined by the mobile computing device 207 orhave been shared with the mobile computing device 207. The first examplehome screen user interface 400 also includes an area 400-3 for listingtips related to exit routes. Such tips may include an indication of howlong it should take to complete an exit route, a reminder to havechildren practice exit routes with adults, and the like.

The second example home screen user interface 401 include an area 401-1that includes user-selectable options for adding an exit route andentering a tutorial that, for example, provides helpful informationregarding an exit route and the manner in which an exit route may bedetermined, shared and traversed. The second example home screen userinterface 401 also includes an area 401-2 for listing exit routes thathave been determined by the mobile computing device 207 or have beenshared with the mobile computing device 207. As shown, the area 401-2includes two exit routes: a first exit route titled “Billy's Room” and asecond exit route titled “Mom & Dad's Room”. The user 201 may be able toselect either of the entries for the two exit routes to view additionalinformation and/or options associated with the exit route. The secondexample home screen user interface 401 also includes an area 401-3 forlisting tips related to exit routes.

At 305 of FIG. 3A, the user 201 may press on the user-selectable optionto determine an exit route (e.g., the user selectable option in area401-1 labeled “Add a Route”). At 306, based on the selection todetermine an exit route, the mobile computing device 207 may initializea data structure for the exit route, cause activation of the camera ofthe mobile computing device, and may display a user interface thatprompts the user 201 to capture an image indicating a beginning locationfor the exit route. FIG. 4B shows one example user interface 403 thatprompts the user 201 to capture an image indicating a beginning locationfor the exit route. The example user interface 403 indicates that theuser 201 is to capture an image indicating a beginning location for theexit route; indicates that certain objects are suitable for inclusionwithin the image (e.g., a closed door or a light switch); indicates thatthe user 201 may need to reposition them self (e.g., by stepping back)to frame the image; and includes a button that causes the camera tocapture an image. The mobile computing device 207 may also prompt theuser to provide a name for the exit route (not shown). The name may bestored within the data structure.

At 309 of FIG. 3A, the user 201 may point the camera to capture anintended image and may press on the user interface to capture the image.At 310, the mobile computing device 207 may capture the image, and maydisplay a user interface that includes the image and prompts the user201 to accept the image. FIG. 4B shows one example user interface 405that displays the image and prompts the user 201 to accept the image bypressing on the button indicated by the check mark.

At 311 of FIG. 3B, the user 201 may accept the image by pressing on theuser interface. At 312, the mobile computing device 207 may store theimage as part of the data structure for the exit route, and may displaya user interface that prompts the user 201 to locate the floor of theroom with the camera. FIG. 4B shows one example user interface 407 thatprompts the user 201 to locate the floor of the room with the camera.

At 313 of FIG. 3B, the user 201 may point the camera towards the floorof the room. At 314, the mobile computing device 207 may determine thata floor is present within image data, and may display, via the userinterface, an indication that the floor is present. The user interface407 of FIG. 4B provides one example of an indication that the floor ispresent. As shown in the user interface 407, when the floor is present,the target reticule will turn green.

At 317 of FIG. 3B, the user 201 may press on the user interface (e.g.,press on the target reticle of user interface 407) and, whilecontinually pressing down on the user interface, may traverse a firstportion of a path of the exit route. The first portion of the path ofthe exit route may include, for example, exiting the original room(e.g., a bedroom of the premises 203), moving through a hallway of thepremises 203, and through another room of the premises 203. At 318, themobile computing device 207 may determine data points for the firstportion of the path of the exit route, may store the data points in thedata structure for the exit route, and may display a user interfaceindicating that data points are being collected. FIG. 4C shows oneexample of a user interface 409 that includes an indication that datapoints are being collected. As shown by the user interface 409, a path409-1 indicates that data points are being collected. The user interface409 may also indicate that the floor is present (e.g., by having thetarget reticle be a color, such as green or blue). The user interface409 may also indicate a reminder that tips or objects may be added alongthe route. This reminder may be displayed based on determining that theuser 201 is traversing inside the premises 203.

The data points may be determined based on a mechanism that allows thecurrent 3D position of the mobile device to be tracked. As one example,ARKit may provide the data points. The data points may each be a 3Dcoordinate that is in relation to the initial data point. In this way,the set of data points stored in the data structure may indicate, forthe path of the exit route, distance traveled, elevation gained or lost,and the like. Additionally, the mobile computing device 207 may processthe data points to, for example, determine an estimated distance fromthe initial data point and determine an estimated duration of travel forthe estimated distance. The mobile computing device 207 may furtherdisplay the estimated distance and the estimated duration in the userinterface. Indeed, the user interface 409 includes an indicating 409-2of the estimated distance and an indication 409-3 of the estimateduration.

Additionally, as the user 201 traverses the path of the exit route, theuser 201 may be required to maintain the camera pointed at the floor orthe ground. If the floor or the ground are no longer present, the mobilecomputing device 207 may display, via the user interface, an indicationthat the floor or the ground are not present (e.g., by turning thetarget reticle of the user interface 409 of FIG. 4C to black). Anaudible warning indicating the floor or ground is not present may alsobe generated by the mobile computing device 207. If the floor or theground are not present within image data, the mobile computing device207 may not collect data points.

At some point, the user 201 may desire to indicate presence of an objectalong the path of the exit route, or may desire to add assistanceinformation for the exit route. Thus, at 321, the user 201 may ceasepressing on the user interface and may stop traversing the path of theexit route. At 322, based on the cease in the pressing, the mobilecomputing device 207 may stop collecting data points.

At 325, the user 201 may interact with the user interface to select anobject to identify along the path of the exit route, and/or may interactwith the user interface to add assistance information for the exitroute. At 326, the mobile computing device 207, based on the userinteractions, may store, as part of the data structure, data indicatingone or more objects that are along the path of the exit route and/orassistance information. As discussed above, objects may include stairs,doors, or other obstacles that are present along the path of the exitroute; and assistance information may include graphics or text todisplay along the path of the exit route.

While not explicitly shown in the steps of FIG. 3C, in connection withsteps 325 and 326, the user 201 may interact with different userinterfaces generated by the mobile computing device 207. For example,the mobile computing device 207 may generate particular user interfacesfor identifying a door, may generate particular user interfaces foridentifying a stairwell, and the like. Additionally, the mobilecomputing device 207 may generate particular user interfaces for addingassistance information for the exit route. User interfaces 411-425 ofFIGS. 4C-4E provide examples of the types of user interfaces that may begenerated to allow the user 201 to identify an object or add assistanceinformation.

User interfaces 411 and 413 provide an example that allows the user 201to identify a door along the path of the exit route. In particular, userinterface 411 includes an area 411-1 that includes a number ofpreconfigured door tips. Each of the preconfigured door tips, forexample, may be a graphical icon or text indicating whether the doorshould be opened, proceeded through, shut or the like. The user 201 mayselect one of the preconfigured door tips to add along the exit routeand associate with a door object. User interface 413 indicates that theuser 201 has selected one of the door tips and prompts the user to movethe door tip to a display height. Upon the user 201 interacting with theuser interfaces 411 and 413 to select the door and place the door tip atthe desired height, the mobile computing device 207 may store, as partof the data structure for the exit route, data indicating the door thatincludes an indication that the object type is a door; a locationassociated with the door (e.g., the last collected data point); andassistance information for the door tip that indicates whichpreconfigured door tip was selected, and a display height for the doortip.

User interfaces 415-421 provide an example that allows the user 201 toidentify a door along the path of the exit route and input text that isassociated with the door as assistance information. In particular, userinterface 415 includes an area 415-1 that includes a user selectableoption to add a new door tip, and a number of available backgrounds oricons for the new door tip. The selectable option to add a new door tipmay allow the user 201 to input text to display in association with adoor. User interface 417 indicates that the user 201 has selected to adda new door tip. Upon selection of one of the available backgrounds oricons for the new door tip, the mobile computing device 207 may promptthe user 201 to input text for the new tool tip. User interface 419includes the prompt for the user 201 to input text for the new tool tip.The user 201 may input any desired text (e.g., “Go through this door” or“Leave this door shut”) and accept the input. The text may be displayedwithin the new door tip, or as a pop-up that is displayed in associationwith the new door tip. Thereafter, the user 201 may be prompted to placethe new door tip at a desired height. Upon the user 201 interacting withthe user interfaces 415-421 to select the door and place the new doortip at the desired height, the mobile computing device 207 may store, aspart of the data structure for the exit route, data indicating the doorthat includes an indication that the object type is a door; a locationassociated with the door (e.g., the last collected data point); andassistance information for the new door tip that indicates the selectedbackground or icon, indicates the text input by the user 201, andindicates a display height for the door tip.

Identifying other objects, such as a stairwell or a sets of stairs, maybe performed similarly to the way in which doors are identified.Accordingly, user interfaces similar to those of 411-421 could begenerated to allow the user 201 identify other objects. Further, theother objects may be identified in ways different the manner in whichdoors are identified. For example, a set of stairs may be identified bya user pressing on a toggle button that causes the button to changestates and indicate that the user 201 is traversing stairs. As the user201 traverses the set of stairs and based on the state of the button, anobject for the set of stairs may be identified and may be associatedwith each data point along the path. This process may continue until theuser toggles the button a second time (thereby causing the button tochange state again and indicate that the user 201 is not traversingstairs).

User interfaces 423-425 provide an example that allows the user 201 toadd assistance information for the exit route. In particular, userinterface 423 includes an area 423-1 that includes a number ofpreconfigured icons that can be placed along the exit route. Each of thepreconfigured icons may include graphics or text to indicate informationto a person traversing the exit route. For example, as shown in area423-1, the preconfigured icons include an icon indicating “do notenter”; an icon indicating “exit through here”; an icon indicating phonenumbers can be found posted here or nearby; an icon indicating a safeaddress can be found posted here or nearby; an icon indicating a laddercan be found here or nearby; an icon indicating pets are often foundhere or nearby; an icon indicating adults are found here or nearby; anicon indicating a baby or child is found here or nearby; an iconindicating a fire detector is found here or nearby; an icon indicating afire extinguisher is found here or nearby; an icon indicating aflashlight is found here or nearby; and an icon indicating a disabledperson is found here or nearby. The user interface 423 also includes auser selectable option to create a new tip, which may allow the user toinput text for display along the exit route. The user 201 may select oneof the preconfigured icons or may select the option to create the newtip. User interface 425 indicates that the user 201 has selected one ofthe preconfigured icons (e.g., the icon indicating “do not enter”) andprompts the user to move the preconfigured icon to a display height.Upon the user 201 interacting with the user interfaces 423 and 425 toselect the assistance information to place along the exit route andplace the assistance information at the desired height, the mobilecomputing device 207 may store, as part of the data structure for theexit route, assistance information indicating the preconfigured iconthat was selected or the text that was input, a location associated withthe assistance information (e.g., the last collected data point), and adisplay height.

At 329, the user 201 may press on the user interface (e.g., on thetarget reticle of user interface 417) and, while continuing to press onthe user interface, the user 201 may traverse a second portion of thepath of the exit route. The second portion of the path of the exit routemay include, for example, exiting the current room (e.g., a living roomof the premises 203), moving through a hallway of the premises 203, andthrough an exterior door of the premises 203. At 330, the mobilecomputing device 207 may determine data points for the second portion ofthe path of the exit route, may store the data points in the datastructure for the exit route, and may display a user interfaceindicating that data points are being collected. User interface 427 ofFIG. 4F shows one example of a user interface that includes anindication that data points are being collected. As shown by the userinterface 427, a path 427-1 indicates that data points are beingcollected. The user interface 427 may also indicate that the ground ispresent (e.g., by having the target reticle be a color, such as green orblue). The user interface 427 may also indicate a reminder that an endto the exit route can be identified based on a double tap of the userinterface. This reminder may be displayed based on determining that theuser 201 is traversing outside the premises 203.

At some point, the user 201 may desire to indicate that an end of theexit route has been reached (e.g., at location 205 of FIG. 2 ). Thus, at333, the user 201 may cease pressing on the user interface and may stoptraversing the path of the exit route. At 334, based on the cease in thepressing, the mobile computing device 207 may stop collecting datapoints.

At 337, the user 201 may perform a double tap on the user interface. Thedouble tap may indicate an end of the exit route has been reached. At338, the mobile computing device may, based on the indication that theend of the exit route has been reached, display an indication that theend of the exit route has been reached and may prompt the user 201 toidentify a safe zone of the exit route. User interface 429 of FIG. 4Fshows one example of a user interface that includes an indication thatthe end of the exit route has been reached (e.g., the graphicsrepresenting differently sized stars). User interface 431 of FIG. 4Fshows one example of a user interface that includes a prompt to identifya safety zone (e.g., areas 431-1 and 431-2).

At 341, the user 201 may interact with the user interface to identify asafe zone of the exit route. At 342, the mobile computing device 207,based on the user interactions, may store, as part of the datastructure, assistance information that indicates the safe zone of theexit route. Step 342 may be performed similar to step 326. For example,user interface 431 provides an example that allows the user 201 to addan indication of a safe zone. In particular, user interface 431 includesan area 431-2 that includes a user selectable option for the safe zone.Upon the user 201 selecting the option for the safe zone, the mobilecomputing device 207 may display a user interface prompting the user 201to choose a display height for the safe zone. Upon selection of thedisplay height, the mobile computing device 207 may store, as part ofthe data structure for the exit route, assistance information indicatingthe safe zone, a location associated with the safe zone (e.g., the lastcollected data point), and a display height.

At 346 of FIG. 3E, based on the safe zone being identified, the mobilecomputing device 207 may store the data structure for the exit route. Inthis way, when the user 201 next views a home screen user interface, theexit route that was determined by this process may be listed. At 350,the mobile computing device 207 may transmit the data structure for theexit route to the server 220.

At 351, the server 220 may determine, based on the data structure, oneor more properties of the exit route. For example, the server 220 maydetermine, based on the data structure, an estimated total distance forthe exit route (e.g., the distance required to traverse from thebeginning location of the exit route to an end location of the exitroute). This determination may be based on the set of data points storedwithin the data structure. The server 220 may determine, based on thedata structure, an estimated time to complete the exit route. Forexample, the estimated time to complete the exit route may be determinedby multiplying the estimated total distance by an estimated time for achild or an adult to move a single unit of the distance. The server 220may determine, based on the data structure, a count of tips or otherinformation that is associated with the exit route (e.g., a count of theitems in the set of the assistance information). The server 220 maystore the one or more properties as part of the data structure for theexit route.

At 355, the server 220 may store the data structure for the exit route.The server 220 may also generate data associations for the datastructure. For example, the server 220 may associate the data structurewith a profile for the user 201. Based on the association with theprofile for the user 201, the server 220 may be able to process the datastructure based on the user 201 (e.g., when determining eligibility fora discount to a service or product). The server may associate the datastructure with a profile for shared users. Based on the association withthe profile for shared users, the server 220 may be able to process,track and otherwise manage which users have access to the datastructure.

At 359, the server 220 may transmit the one or more properties to themobile computing device 207. At 360, the mobile computing device 207 maydisplay exit route information. The exit route information may provide asummary of the exit route and/or indicate the one or more properties ofthe exit route. The user interface 433 of FIG. 4G provides one exampleof a user interface that displays exit route information. As shown, theuser interface 433 may include an indication of an estimated totaldistance for the exit route (e.g., 300 feet); an indication of a countof tips or other information that is associated with the exit route(e.g., 2 tips are displayed along the path of the exit route); anindication of a time to complete by a child (e.g., 100 seconds); and anindication of a time to complete by an adult (e.g., 90 seconds).Additionally, the mobile computing device 207 may store the one or moreproperties as part of the data structure.

While step 351 is shown in FIG. 3E as being performed at the server 220,step 351 may be performed by the mobile computing device 207 instead ofthe server 220. As an example, step 351 may be performed by the mobilecomputing device 207 after performing step 346, and step 350 may beperformed after 351. Further, step 359 may not be performed if themobile computing device 207 performs step 351 instead of the server 220.As an example, the mobile device 207 may, in connection with step 350,transmit the one or more properties that were determined by the mobilecomputing device 207; the server 220, at step 355, may store the one ormore properties; and the server 220 may, instead of performing step 359,may transmit an acknowledgement of the exit route to the mobilecomputing device 207.

Returning to the depiction of FIG. 3E, at 365, the user 201 may interactwith the user interface to return to a home screen user interface (e.g.,by pressing the “Continue” button of user interface 433). At 366, themobile computing device 207 may display a home screen user interface.The home screen user interface (e.g., user interface 401 of FIG. 4A) mayinclude a listing for the newly determined exit route (e.g., “Billy'sRoom in area 401-2 of user interface 401).

It should be understood that the example described in connection withFIGS. 3A-3E and 4A-4G provides a simplified example of determining anexit route. For example, in the example, the user 201 traverses twoportions of the exit route and, in between the first and secondportions, identifies one or more objects along the path and/or addsassistance information for the exit route. In practice, the user 201could traverse any number of portions of the exit route. In between eachportion, the user 201 may or may not identify an object and may or maynot add assistance information. In this way, other examples may changethe order of any of the steps discussed in connection with the exampleof FIGS. 3A-3E and 4A-4G. For example, steps 325 and 326 may beperformed before steps 317 and 318 such that the user 201 identifies anobject or adds assistance information prior to traversing the firstportion of the exit route. Further, additional steps may be added. Forexample, steps 325-330 may be repeated after the user traverses a secondportion of the exit route so that the user 201 may identify an object oradd assistance information prior to traversing a third portion of theexit route. Some steps may be omitted. For example, steps 325 and 326may be omitted if the user 201 simply traverses the exit route and neveridentifies an object or adds assistance information. Some steps may beperformed by different devices. For example, instead of step 351 beingperformed by the server 220, step 351 may be performed by the mobilecomputing device 207 (e.g., prior to step 350), and step 359 may not beperformed due to step 351 being performed by the mobile computing device207.

As indicated by the home screen user interfaces 400 and 401 of FIG. 4A,the user 201 may be able to enter a tutorial for an exit route (e.g., byselecting “Escape Tutorial” within area 400-1 of user interface 400).The tutorial may be a preconfigured set of user interfaces that providehelpful information to the user 201. The user may proceed through thetutorial at their own pace (e.g., by selecting continue when ready toproceed to the next user interface in the tutorial). Alternatively, theuser interfaces may be interspersed as the user 201 determines an exitroute. For example, the user interfaces for the tutorial may bedisplayed as various points within the example of FIGS. 3A-3E.

FIGS. 5A-5D show one or more example user interfaces that may be used inconnection with a tutorial for an exit route. User interface 501 of FIG.5A may provide information indicating what an exit route usuallyentails, why exit routes are useful, and a recommendation for parents todetermine exit routes with children below a certain age. User interface503 may provide criteria for an exit route including, for example, anindication that an exit route should be completed in less than a certainamount of time (e.g., 2 minutes); an indication to plan for personswithin the house, such as smaller children or disabled persons that willtake longer to exit the premises 203; and an indication that a safe zoneshould be a minimum (e.g., 50 feet) distance away from the premises 203.User interface 505 of FIG. 5B may provide information indicating theprocess the user 201 will perform with the mobile computing device 207to determine the exit route (e.g., capture an image of a beginninglocation; traverse a path of the exit route while the camera points atthe floor or the ground; identify objects along a path; add informationfor display along the path; and identify a safe zone of the exit route).The user interface 507 may provide information indicating how the user201 is to point the camera at the floor or the ground, how the userinterface indicates the floor or the ground has been, and the like. Theuser interface 509 of FIG. 5C may provide information indicating how theuser 201 is to traverse the path of the exit route (e.g., by continuallypressing on a target reticle displayed on the mobile computing device207). The user interface 511 may provide information indicating whyidentifying objects and/or adding assistance information may be usefulfor an exit route. The user interface 511 may also provide informationindicating how objects identified, how assistance information is added,and how objects and assistance information are displayed. The userinterface 513 of FIG. 5D may provide information indicating what a safezone is, how far it should be from a premises 203, and the like. Theuser interface 515 may provide information indicating how users canshare exit routes with other users and/or traverse exit routes as a wayto practice exiting the premises 203. The user interfaces of FIGS. 5A-5Dare only some examples of the types of user interfaces that may be usedas a tutorial for an exit route.

As discussed above, a user may be able to share an exit route. Toprovide one or more examples of how an exit route may be shared, anexample method flow, as shown at FIGS. 6A-6B, will be discussed in viewof a number of example user interfaces, as shown at FIGS. 7A-7C. Theexample, in particular, is directed at a user 201 using the mobilecomputing device 207 to share an exit route with a device 230.

At 602, the mobile computing device 207 may display a home screen userinterface, which may allow the user 201 to share one or more exitroutes. User interface 701 of FIG. 7A provides one example of a homescreen user interface. As shown, user interface 701 includes a number ofoptions for sharing an exit route. Selectable sharing options 701-1 and701-2 may allow for a user to share exit routes in batches. Sharing inbatches may allow for the user 201 to select any number of exit routesfor sharing using a single user interface. User interface 703 providesone example of a user interface that allows a user 201 to share exitroutes in batches. The user 201 may also be able to select a particularexit route to view additional information about an exit route. Forexample, the user 201 may press on area 701-3 to bring up additionalinformation for the exit route that has the name “Billy's Room”. Theadditional information may include an option to share the exit route.User interface 705 provides one example of a user interface that allowsa user 201 to share a particular exit route.

At 605, the user 201 may interact with the user interface to initiate aprocess to share one or more exit routes. For example, the user 201 mayselect an option to initiate a process that shares one or more exitroutes in batches (e.g., by pressing 701-1 or 701-2 of user interface701). As another example, the user may select an option to share aparticular exit route (e.g., by pressing on area 705-1 of user interface705).

At 606, the mobile computing device 207 may determine of one or moreexit routes to share. For example, if the user 201 selected an option toinitiate a process that shares one or more exit routes in batches, themobile computing device 207 may prompt the user 201 to select which exitroutes to share. User interface 703 is one example of a user interfacethat prompts the user to select which exit routes to share. Userinterface 703 provides a listing of exit routes and the user 201 is ableto select or deselect each exit route at their option. Any exit routethat is selected (e.g., via the check indication at area 703-1) may beshared by the mobile computing device. As a particular example, themobile computing device 207 may determine to share the exit route named“Mom & Dad's Room” based on the user 201's selections indicated by userinterface 703. As another example, if the user 201 selected an option toshare a particular exit route, the mobile computing device 207 may sharethe exit route that is associated with the selected option. As aparticular example, mobile computing device 207 may determine that theexit route named “Billy's Room” will be shared based on the user 201'spress on area 705-1 of user interface 705.

At 608, the mobile computing device 207 may display a user interfaceproviding one or more sharing notification options. The sharing optionsmay include various mechanisms for notifying another device or user ofthe shared exit route(s). User interface 707 of FIG. 7B provides oneexample of a user interface that provides one or more sharingnotification options. As shown, user interface 707 includes an area707-1 that allows for the user 201 to notify via text message, email,slack, or other messaging mechanism.

At 609, the user 201 may interact with the user interface to select oneof the sharing notification options. For example, the user 201 mayselect text messaging (e.g. the leftmost icon of area 707-1 of userinterface 707) as the mechanism to notify another device or user of theshared exit route(s).

At 612, the mobile computing device 207 may generate a notificationmessage and may display a user interface that prompts a user to enter adestination for the notification message. The mobile computing device207 may generate the notification message based on the selectednotification option (e.g., generate an email message if a notificationoption for email is selected, generate a text message if a notificationoption for text messaging is selected, etc.) Generating the notificationmessage may include interfacing with an operating system of the mobilecomputing device 207, or another application of the mobile computingdevice 207 to generate the notification message. The mobile computingdevice 207 may generate text for the notification message. For example,the text for a notification message may include a name or otheridentifier of the user 201. The text may also provide a link, such as alink to an application store that will allow the download of theapplication that enables access to the exit route. After generating thetext, the mobile computing device 207 may cause the text to beprepopulated into the notification message. The user interface 709 isone example of a user interface that includes a notification message andprompts the user 201 to enter a destination for the notificationmessage. As shown, the user 201, via area 709-1, is able to type adestination (e.g., a phone number, email address, contact list entryfrom a contact list of the mobile computing device 207, etc.) for thenotification message. The notification message is shown at area 709-2 ofthe user interface 709 and is shown as included prepopulated text. Theprepopulated text at area 709-2 is one example of text that can begenerated for a notification message.

At 615, the user 201 may interact with the user interface to input thedestination. For example, the user 201 may, at area 709-1 of the userinterface 709, input a phone number for the device 230; an email addressassociated with a user of the device 230; a contact list entry, from acontact list of the mobile computing device 207, for a user of thedevice 230; or the like.

At 618, the mobile computing device 207 may transmit, to the server 220,an indication of one or more exit routes that are being shared with thedestination. For example, the mobile computing device 207 may transmitthe data structure for each exit route that is being shared (or someother identifier for each exit route being shared) and may transmit anindication of the destination that the user 201 input at 615 (e.g., thephone number for the device 230; the email address associated with auser of the device 230; or the contact list entry, from a contact listof the mobile computing device 207, for a user of the device 230).

At 620, the server 220 may allow the destination access to the datastructure(s) of the one or more exit routes that are being shared by theuser 201. For example, the server 220 may locate the profile for sharedusers that is associated with a data structure being shared, and mayupdate the profile to indicate the destination as one of the users thathas access to the data structure. The server 220 may repeat that processfor each of the exit routes being shared by the user 201.

At 622, the mobile computing device 207 may transmit the notificationmessage to the destination. For this example, and as illustrated at 622of FIG. 6B, the destination is device 230.

At 624, the mobile computing device 207 may display a user interfaceindicating the notification message was sent. The user interface 711 ofFIG. 7C is one example of a user interface that indicates thenotification was sent. As shown, the user interface 711 indicates, atarea 711-1, that the notification message was sent via text message. Thetext message was sent to “Linda”, who is a user of device 230.

At some other point in the future, a user of the device 230 may wish toaccess the exit route that was shared. Steps 626-632 of FIG. 6B provideone example where a user of device 230 accesses a shared exit route.These, or similar, steps may also be performed based on the mobilecomputing device 207 accessing one or more exit routes that were sharedwith the mobile computing device 207 or the user 201.

At 626, the device 230 may activate or load the application that enablesaccess to the exit route. The application may generate user interfacesthat enable a user of the device 230 to, among other things, accesspreviously-determined exit routes, to access previously-shared exitroutes, and to determine a new exit route. Activation or loading of theapplication may cause the device 230 to transmit a request for sharedexit routes to the server 220. The request may include identifyinginformation for the device 230 (e.g., a phone number of the device 230)or a user of the device 230 (e.g., an email address of the user)

At 628, the server 220 may determine which data structures the device230 may access. In other words, the server 220 may determine which exitroutes have been shared with the device 230 or with the user of thedevice 230. The server 220 may perform this determination by searchingthe profiles for shared users based on the identifying information fromthe request. For example, the server 220 may determine that the device230 has access to a particular data structure for an exit route if theprofile for shared users that is associated with the particular datastructure includes a phone number or email address that matches theidentifying information for the device 230.

At 630, the server 220 may transmit, to the device 230, one or more datastructures the device 230 may access. For example, if at 628, the server220 determined that the device had access to a data structure for anexit route named “Billy's Room”, that data structure may be transmittedto the device 230.

At 632, the device 230 may receive and store the one or more datastructures that were transmitted by the server 220 at 630. Further, thedevice 230 may display a user interface indicating access to the one ormore data structures. The user interface 713 provides one example userinterface that indicates one or more shared exit routes. In particular,the user interface 713 indicates that a data structure for an exit routenamed “Billy's Room” is accessible to the device 230. As anotherexample, device 230 may display user interface 401 of FIG. 4A. The entryfor the exit route named “Billy's Room” may be presented based on themobile device 207 sharing that exit route with the device 230. The entryfor the exit route named “Mom & Dad's Room” may be presented based onthe device 230 determining the exit route itself (e.g., using a methodflow similar to the example provided at FIG. 3A-3E). Thereafter, theuser of the device 230 may perform various actions on the datastructure(s) that were shared including, for example, editing the datastructure, deleting the data structure, and/or assisting the user intraversing the exit route by using the data structure as a basis foraugmenting a real-time video display.

It should be understood that the example described in connection withFIGS. 6A-6B and 7A-7C provides a simplified example of sharing an exitroute. For example, other examples may change the order of any of thesteps discussed in connection with the example of FIGS. 6A-6B and 7A-7C.For example, steps 618 and 622 may be reversed in order. Further,additional steps may be added. For example, the mobile computing device207 may perform steps similar to steps 626-632 to receive, store andaccess any data structures that have been shared with the mobilecomputing device 207 or the user 201. Some steps may be omitted. Forexample, step 632 may be omitted if the device 230 is configured torequest, receive and store data structures of shared exit routes on aperiodic basis. Some steps may be performed by different devices.

As discussed throughout this disclosure, a data structure for an exitroute may be used as a basis for assisting a user with traversing theexit route. The assistance may be provided based on an augmentedreal-time video display. An example of augmenting a real-time videodisplay is provided by the combination of the example method flow ofFIGS. 8A-8B and the example user interfaces of FIGS. 9A-9B. The example,in particular, is directed at a user 201 using the mobile computingdevice 207 to assist in traversing an exit route. As the user 201traverses the exit route, the mobile computing device 207 may, based onthe data structure for the exit route, overlay graphical or textualinformation over image or video data captured by the mobile computingdevice 207's camera. The graphical or textual information may indicate,among other things, a path of the exit route, the presence of doors orstairs, or a safe zone of the exit route.

At 802, the mobile computing device 207 may display a user interfacethat includes a user-selectable option to assist in traversing an exitroute. The user interface 901 of FIG. 9A is one example that includes,at area 901-1, a user-selectable option to assist in traversing an exitroute. In particular, the user interface 901 provides an option totraverse the exit route named “Billy's Room”. The user interface 901also includes the image indicating the beginning location of the exitroute. The user interface also includes properties of the exit route,such as the estimated total distance of the exit route (e.g., 562 feet)and an estimated time to complete the exit route (e.g., 1 minute and 55seconds). The image and the properties of the exit route may beretrieved from the data structure for the exit route. The user interface901 may be displayed based on the user 201 selecting, via the userinterface 401 of FIG. 4A, the exit route named “Billy's Room”. The userinterface 705 of FIG. 7A is another example that includes, at area705-2, a user-selectable option to assist in traversing an exit route.The user interface 705 may be displayed based on the user 201 selecting,via the user interface 701, the area 701-3 for the exit route named“Billy's Room”.

At 803, the user 201 may interact with the user interface to initiate aprocess for assisting the traversal of the exit route. For example, theuser may press area 901-1 of the user interface 901. At 804, the mobilecomputing device 207 may display a user interface prompting the user 201to align the camera of the mobile computing device 207 with the imagethat indicates the beginning location of the exit route. User interface903 of FIG. 9A is one example that includes a prompt for the user 201 toalign the camera of the mobile computing device 207 with the image thatindicates the beginning location of the exit route. As shown, the userinterface 903 includes information indicating that the user 201 is tomatch an image of a door frame and, once the user 201 is satisfied withthe match, the user 201 is to press an accept button (e.g., the checkbutton of the user interface 903).

At 807, the user 201 repositions the camera and presses the acceptbutton. Pressing the accept button may indicate that the user 201 issatisfied with the beginning location of the exit route. At 808, themobile computing device may display a user interface that overlays, ontovideo captured from the camera, graphics or text indicating thebeginning of the exit route. The video captured from the camera may bereal-time video. In this way, the mobile device may be overlaying thegraphics and text over the exit route as the user 201 traverses the exitroute. The user interface 905 of FIG. 9A provides on example of a userinterface that overlays, onto video captured from the camera, graphicsor text indicating the beginning of the exit route. As shown the userinterface 905 may include text indicating the beginning of the exitroute (e.g., “START ROUTE”), and an indication of a direction of a pathof the exit route (e.g., the graphical path that angles towards theright edge of the display). The direction of the path may be determinedbased on the set of data points stored by the data structure for theexit route. For example, if the data points are a set of 3D data points,the mobile computing device 207 may determine a 3D directional vectorthat points to a data point that is a threshold distance away from thecurrent location (e.g., 15 feet along the path from the currentlocation). Graphics for the direction of the path may be overlaid toindicate the 3D directional vector. Once a particular graphic or text isdetermined to be overlaid, the mobile computing device 207 may providethe particular graphic or text to ARKit for rendering.

At 811, the user 201 may traverse the exit route while maintaining thecamera facing the floor or the ground. At 812, the mobile computingdevice 207 may, as the user 201 is traversing in accordance with 811,display or update one or more user interfaces that overlay, onto videocaptured from the camera, graphics or text. The overlaid graphics ortext may be determined based on the data structure for the exit route.For example, based on the data structure, assistance information may bedisplayed as pop-up graphics or text along the route. Based on the datastructure, graphics or text identifying one or more objects along thepath may be displayed. User interfaces 907, 909 and 911 provide a fewexamples of user interfaces that overlay, onto a real-time view receivedvia the camera, graphics or text. In general, the data stored by thedata structure—including the set of data points, the data indicating oneor more objects that occur along the path of the exit route, and the setof assistance information indicating information to display along thepath of the exit route—may be used as a basis for overlaying graphics ortext onto the video display.

As shown, the user interface 907 includes a graphical icon (e.g., theicon that indicates “no not enter”) associated with a door 907-1. Theuser interface 907 also includes an indication of a direction of a pathof the exit route (e.g., the graphical path that angles towards the fardoor). The user interface 909 includes a graphical icon (e.g., an iconthat indicates “exit through here”) associated with a door 909-1. Theuser interface 909 also includes an indication of a direction of a pathof the exit route (e.g., the graphical path that angles towards andunder the door 909-1). The user interface 911 includes graphicsindicating a safe zone for the exit route. The user interface 911 alsoincludes an indication of a direction of a path of the exit route (e.g.,the graphical path that extends from the bottom of the display and endsat the graphic for the safe zone). Additionally, each of the userinterfaces 907, 909 and 911 include a progress bar that indicates theuser 201's progress towards the safe zone. The mobile computing device207 may determine the progress based on the data points of the datastructure.

The mobile computing device 207 may continue overlaying graphics andtext onto the video display until a time at which the user 201 completesthe traversal of the exit route. At 815, the user 201 may have completedthe traversal (e.g., by reaching the safe zone of the exit route) andmay double tap one the user interface (e.g., by double tapping onto thegraphic for the safe zone as shown by user interface 911 of FIG. 9B).The double tap may indicate that the user 201 has completed traversingthe exit route.

At 816, based on the indication that the user 201 has completedtraversing the exit route, the mobile computing device 207 may display auser interface indicating statistics of the exit route and/or statisticsof the traversal. For example, the user interface may indicate the oneor more properties from the data structure and also may indicate one ormore statistics associated with the user 201's performance in traversingthe exit route (e.g., a total time to complete the traversal).

At 820, the mobile computing device 207 may transmit, to the server 220,an indication that the exit route was traversed. For example, the mobilecomputing device 207 may transmit the data structure for the exit routethat was traversed (or some other identifier for the exit route that wastraversed), data flag indicating the traversal was completed, and one ormore statistics associated with the user 201's performance in traversingthe exit route (e.g., a total time to complete the traversal)

At 824, the server 220 may, based on the indication that the exit routewas traversed, update a profile for the user 201. For example, theprofile for the user 201 may be updated to indicate which exit route wastraversed, how long it took to complete, and the date on which the exitroute was traversed.

At 828, the server may determine whether the user 201 is eligible for adiscount to a service or a product. As an example, the discount may beto reduce the price of fire safety equipment, such as a smoke detector.The discount may be to reduce the premium of an insurance policy. Thereare many conditions that may be placed on the user 201's eligibility forthe discount. As some examples, the server 220 may determine that theuser 201 is eligible for a discount based on upon the user 201completing the traversal of the exit route. The server 220 may determinethat the user 201 is eligible for a discount based on the user 201completing the traversal within a targeted time (e.g., within 2 minutesfrom beginning the traversal). The server 220 may determine that theuser 201 is eligible for a discount based on the user 201 havingcompleted the traversal of the exit route within a threshold number ofdays or months (e.g., the user 201 may be eligible for the discount ifthe user 201 completes the traversal of the exit route once a year). Theserver 220 may determine that the user 201 is eligible for a discountbased on the user 201 practicing the exit route in accordance with aperiodic schedule (e.g., the user 201 may be eligible for the discountif the user 201 traverses the exit route to completion at least everysixth months or at least twice a year). The server 220 may determinethat the user 201 is eligible for a discount based on the user 201having established exit routes for members of his or her family (e.g.,the user 201 may be eligible for the discount if exit routes have beenestablished for a spouse and one or more children). The eligibility forthe discount may be based on additional conditions applied the membersof user 201's family including, any of the above-mentioned conditionsdiscussed above in connection with user 201 (e.g., the user 201 may beeligible for the discount if the spouse and the one or more childrenhave practiced the exit route in accordance with a periodic schedule;and/or the user 201 may be eligible for the discount if the spouse andthe one or more children have completed the traversal of the exit routewithin a targeted time, which may be specific to each family member).The above-mentioned conditions may be combined with each other and/orwith additional conditions when determining eligibility for thediscount.

If the user 201 is eligible for a discount, the server 220 may transmitmessage to a billing server (not shown) that causes, for example, thediscount to be applied to the insurance policy of the user 201 and/orthe discount to be applied to a transaction for purchasing fire safetyequipment. Applying the discount may take the form of a credit to anaccount associated with the user 201. In this way, the credit can beused at a later time by the user 201 when, for example, purchasing adesired item of fire safety equipment.

It should be understood that the example described in connection withFIGS. 8A-8B and 9A-9B provides a simplified example of assisting thetraversal of an exit route by overlaying graphics and text onto a videodisplay. For example, other examples may change the order of any of thesteps discussed in connection with the example of FIGS. 8A-8B and 9A-9B.For example, steps 824 and 828 may be reversed in order. Further,additional steps may be added, omitted, or performed by differentdevices.

The descriptions above are merely example embodiments of variousconcepts.

They may be rearranged/divided/combined as desired, and one or morecomponents or steps may be added or removed without departing from thespirit of the present disclosure.

We claim:
 1. A method comprising: causing, by a computing device,display of a first user interface that prompts a user to capture animage indicating a beginning location for an exit route from a premises;receiving an indication to capture the image; causing the image to becaptured via a camera of the computing device; determining, while a useris traversing the exit route, data points that define a path of the exitroute; receiving an indication that an end of the exit route has beenreached; and storing, within a first data structure for the exit route,the image and the data points.